package com.beyond.trace.dy.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 销售单对象 t_trace_dy_sale
 * 
 * @author Mr.Yao
 * @date 2022-04-09
 */
@TableName("t_trace_dy_sale")
public class TraceDySale extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 销售单号 */
    @TableId(value = "sale_id", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long saleId;

    /** 销售客户 */
    @Excel(name = "销售客户")
    @ApiModelProperty(value = "销售客户")
    private String saleCustmer;

    /** 客户联系方式 */
    @Excel(name = "客户联系方式")
    @ApiModelProperty(value = "客户联系方式")
    private String saleCustmerPhone;

    /** 客户地址 */
    @Excel(name = "客户地址")
    @ApiModelProperty(value = "客户地址")
    private String saleCustmerAddress;

    /** 销售时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "销售时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "销售时间")
    private Date saleTime;

    /** 销售成品 */
    @Excel(name = "销售成品")
    @ApiModelProperty(value = "销售成品")
    private String saleProduct;

    /** 销售数量 */
    @Excel(name = "销售数量")
    @ApiModelProperty(value = "销售数量")
    private String saleProductCount;

    /** 销售价格 */
    @Excel(name = "销售价格")
    @ApiModelProperty(value = "销售价格")
    private String saleProductPrice;

    /** 出库标志 */
    @Excel(name = "出库标志")
    @ApiModelProperty(value = "出库标志")
    private Long saleSh;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "出库时间")
    private Date saleReduceTime;

    /** 出库数量 */
    @Excel(name = "出库数量")
    @ApiModelProperty(value = "出库数量")
    private BigDecimal saleReduceCount;

    /** 是否删除，1，是 0，否 */
    @Excel(name = "是否删除，1，是 0，否")
    @ApiModelProperty(value = "是否删除，1，是 0，否")
    private Long deleteFlag;

    /** 删除人 */
    @Excel(name = "删除人")
    @ApiModelProperty(value = "删除人")
    private String deleteBy;

    /** 删除日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "删除日期")
    private Date deleteTime;

    public void setSaleId(Long saleId) 
    {
        this.saleId = saleId;
    }

    public Long getSaleId() 
    {
        return saleId;
    }
    public void setSaleCustmer(String saleCustmer) 
    {
        this.saleCustmer = saleCustmer;
    }

    public String getSaleCustmer() 
    {
        return saleCustmer;
    }
    public void setSaleCustmerPhone(String saleCustmerPhone) 
    {
        this.saleCustmerPhone = saleCustmerPhone;
    }

    public String getSaleCustmerPhone() 
    {
        return saleCustmerPhone;
    }
    public void setSaleCustmerAddress(String saleCustmerAddress) 
    {
        this.saleCustmerAddress = saleCustmerAddress;
    }

    public String getSaleCustmerAddress() 
    {
        return saleCustmerAddress;
    }
    public void setSaleTime(Date saleTime) 
    {
        this.saleTime = saleTime;
    }

    public Date getSaleTime() 
    {
        return saleTime;
    }
    public void setSaleProduct(String saleProduct) 
    {
        this.saleProduct = saleProduct;
    }

    public String getSaleProduct() 
    {
        return saleProduct;
    }
    public void setSaleProductCount(String saleProductCount) 
    {
        this.saleProductCount = saleProductCount;
    }

    public String getSaleProductCount() 
    {
        return saleProductCount;
    }
    public void setSaleProductPrice(String saleProductPrice) 
    {
        this.saleProductPrice = saleProductPrice;
    }

    public String getSaleProductPrice() 
    {
        return saleProductPrice;
    }
    public void setSaleSh(Long saleSh) 
    {
        this.saleSh = saleSh;
    }

    public Long getSaleSh() 
    {
        return saleSh;
    }
    public void setSaleReduceTime(Date saleReduceTime) 
    {
        this.saleReduceTime = saleReduceTime;
    }

    public Date getSaleReduceTime() 
    {
        return saleReduceTime;
    }
    public void setDeleteFlag(Long deleteFlag) 
    {
        this.deleteFlag = deleteFlag;
    }

    public BigDecimal getSaleReduceCount() {
        return saleReduceCount;
    }

    public void setSaleReduceCount(BigDecimal saleReduceCount) {
        this.saleReduceCount = saleReduceCount;
    }

    public Long getDeleteFlag() 
    {
        return deleteFlag;
    }
    public void setDeleteBy(String deleteBy) 
    {
        this.deleteBy = deleteBy;
    }

    public String getDeleteBy() 
    {
        return deleteBy;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("saleId", getSaleId())
            .append("saleCustmer", getSaleCustmer())
            .append("saleCustmerPhone", getSaleCustmerPhone())
            .append("saleCustmerAddress", getSaleCustmerAddress())
            .append("saleTime", getSaleTime())
            .append("saleProduct", getSaleProduct())
            .append("saleProductCount", getSaleProductCount())
            .append("saleProductPrice", getSaleProductPrice())
            .append("saleSh", getSaleSh())
            .append("saleReduceTime", getSaleReduceTime())
            .append("deleteFlag", getDeleteFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deleteBy", getDeleteBy())
            .append("deleteTime", getDeleteTime())
            .append("remark", getRemark())
            .toString();
    }
}
